home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / glib19.zip / TECHINFO.DOC < prev   
Text File  |  1991-06-27  |  4KB  |  134 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.       
  11.       
  12.                                 I.  Technical Notes 
  13.                         Copyright (C) InfoSoft, 1990 - 1991
  14.  
  15.  
  16.       
  17.                Every library  function  is designed  to  be as  compatible  as
  18.      possible not only  across the various  DOS versions but among  compatible
  19.      (and  sometimes not  so  compatible) clone  systems.   In  all cases  the
  20.      functions are designed to  properly operate on Phoenix and IBM  5153 (the
  21.      original PC) BIOS systems. 
  22.       
  23.                We will  attempt to  briefly document  here any  known problems
  24.      with certain systems, routines and/or QB itself: 
  25.       
  26.       
  27.           A.  DELAY/DELAY18   3/90 
  28.          We  recently noticed a very  strange bug in  a very large application
  29.      under BASIC  PDS (both  in the QBX  environment and  in compiled  form). 
  30.      When we sound  the speaker via SpkrSnd either directly  or indirectly via
  31.      DialogBox  or  FlexMenu errors,  the  speaker  stayed on  (ie  the passed
  32.      Duration value is incorrect). 
  33.                Further investigation indicates  that this is  a problem in  QB
  34.      passing arguments  BYVAL in large  programs.   I can think  of 3 ways  to
  35.      generate a delay: 
  36.  
  37.          (1)  Use INT 1ah to get the time and wait until x seconds            
  38.               or ticks are up.  This one seems to work the  best in the       
  39.               program described above.    This has been reported to not       
  40.               work well on TANDY systems, but since documentation as          
  41.               far back as late  1986 show INT 1ah function 00 to be a         
  42.               valid BIOS call even on the original IBM PC, I have  to         
  43.               assume problems with  this method are are compatibility         
  44.               related. 
  45.       
  46.          (2)  Loop based on a  peek at low memory where the clock tick        
  47.               is maintained.  Sounds good, but  does not work in the          
  48.               program above. 
  49.       
  50.          (3)  Take over INT 1Ch  and let the BIOS count it off for us.        
  51.               This is the messiest and slowest method, and it  too            
  52.               fails. 
  53.       
  54.               Better results were always had using delays of more  than 1     
  55.           tick.  Oddly, limited success is also  achieved by moving the       
  56.       DECLARE statement. 
  57.       
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.           For these reasons,  all 3 methods  of generating  a short delay  are
  76.      available to  registered GLIB users.   The distribution  LIB and  QLB are
  77.      created using  method 1 above.  Each method is  called in the same manner
  78.      (ie with the same name),  but you can only add one to a  LIB or a QLB and
  79.      avoid name conflicts. Try them  out and use the  one that works best  for
  80.      you.  The following shows the method used in each object module: 
  81.  
  82.               DELAY.OBJ   -  INT 1ah (Method 1) 
  83.               DELAYX.OBJ  -  Low memory tick (Method 2) 
  84.               DELAYI.OBJ  -  Revectoring INT 1ch (Method 3) 
  85.       
  86.       
  87.       
  88.           B. ArgC/ArgV     4/90
  89.          These work fine under DOS 3.1 and  before, but we have had reports of
  90.      problems under PC DOS 3.31.   Further investigation has revealed that DOS
  91.      3.1 and before DO NOT include the trailing carriage return as part of the
  92.      length  of  the  command tail  in  accordance  with  all DOS  references.
  93.      However, at least  PC DOS 3.31  appears to include the  trailing carriage
  94.      return as  a part  of the  length contrary  to the  various and  numerous
  95.      documentations available.   As of GLib 2.0x, ArgC and ArgV should operate
  96.      correctly without regard to the prevailing DOS version. 
  97.  
  98.  
  99.           C. ArgC/ArgV      6/90
  100.          The command line argument routines included in initial shipments of
  101.      the General LIBrary (GLIB)  for BASIC PDS incorrectly counted  the number
  102.      of  arguments  when arguments  were  separated  by more  than  one space.
  103.      Likewise, ArgVar would  return a null  string when fetching the  argument
  104.      immediately  preceeded by 2 or more spaces.   As of June 1990, these have
  105.      been fixed.  Essentially, if you are reading this, then ArgC/ArgV in your
  106.      library should work right. 
  107.  
  108.              
  109.       
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.